
export default {

    /**
     * 产生uuid
     * @returns {string}
     */
    uuid() {
        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
            var r = Math.random() * 16 | 0,
                v = c == 'x' ? r : (r & 0x3 | 0x8);
            return v.toString(16);
        });
    },

    /**
     * 写cookie
     * @param cname
     * @param cvalue
     * @param exdays 过期天数
     */
    setCookie(cname, cvalue, exdays) {
        var d = new Date();
        d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
        var expires = "expires=" + d.toUTCString();
        console.info(cname + "=" + cvalue + "; " + expires);
        document.cookie = cname + "=" + cvalue + "; " + expires;
        console.info(document.cookie);
    },

    /**
     * 读cookie
     * @param cname
     * @returns {string}
     */
    getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        console.log("获取cookie,现在循环")
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            console.log(c)
            while (c.charAt(0) == ' ') c = c.substring(1);
            if (c.indexOf(name) != -1) {
                return c.substring(name.length, c.length);
            }
        }
        return "";
    },

    /**
     * 计算2个日期相差的天数
     * @param date1
     * @param date2
     * @returns {number}
     */
    dateDiff(sDate1, sDate2) {    //sDate1和sDate2是2006-12-18格式
        var aDate, oDate1, oDate2, iDays
        aDate = sDate1.split("-")
        oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])    //转换为12-18-2006格式
        aDate = sDate2.split("-")
        oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
        iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24)    //把相差的毫秒数转换为天数
        return iDays
    },

    /**
     * email验证
     * @param email
     * @returns {boolean}
     */
    validateEmail(email) {
        var re = /^(([^<>()[\]\\.,;:\s@\\"]+(\.[^<>()[\]\\.,;:\s@\\"]+)*)|(\\".+\\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        return re.test(email);
    },

    /**
     * 验证手机号
     * @param phoneNumber
     * @returns {boolean}
     */
    validatePhone(phoneNumber) {
        // 使用正则表达式验证手机号码格式
        var regex = /^1[3456789]\d{9}$/;
        return regex.test(phoneNumber);
    },

    /**
     * 验证密码(规则包含字母和数字且长度>=6)
     * @param password
     * @returns {boolean}
     */
    validatePassword(password) {
        // 使用正则表达式验证手机号码格式
        var regex = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$/;
        return regex.test(password);
    },

    /**
     * 验证身份证
     * @param sfz
     * @returns {boolean}
     */
    validateSfz(sfz) {
        // 使用正则表达式验证手机号码格式
        var regex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        return regex.test(sfz);
    },

    /**
     *
     * @param age
     * @returns {boolean}
     */
    validateAge(age) {
        // 使用正则表达式验证年龄区间0-120岁格式
        var regex = /^(?:[1-9]?[0-9]|1[01][0-9]|120)$/;
        return regex.test(age);
    },
}